<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>生命周期</title>
</head>
<body>
    <div id="app">
        <h3>{{msg}}</h3>
    </div>
    <script src="./node_modules/vue/dist/vue.js"></script>
    <script>
        const vm = new Vue({
            //还可以进行挂载
            // el:"#app",
            data:{
                msg:"小陈"
            },
            beforeCreate() {
                //Vue实例创建之前被调用，数据和模板都没有获取
                console.log("beforeCreate()",this.$el,this.$data);
            },
            created() {
                //Vue实例化后最早获取data数据的钩子，但是模板未获取到
                //ajax请求一般在这个钩子函数进行数据获取
                console.log("created()",this.$el,this.$data);
            },
            beforeMount() {
                //数据挂载之前，获取了模板，但数据还未挂载到模板上
                console.log("beforeMount()",this.$el,this.$data);
            },
            mounted() {
                //数据已经挂载到模板上
                console.log("mounted()",this.$el,this.$data);
            },
            beforeUpdate() {
                //data数据更新之前
                console.log("beforeUpdate()",this.$el,this.$data);
            },
            updated() {
                //data数据更新之后
                console.log("updated()",this.$el,this.$data);
            },
            //销毁的钩子函数主要做一些收尾的工作
            beforeDestroy() {
                //Vue实例销毁之前
                console.log("beforeDestroy()");
            },
            destroyed() {
                //Vue实例销毁时
                console.log("destroyed()");
            },
        }).$mount("#app")  //如果没有指定el也可以进行挂载
        //销毁vue实例
        // vm.$destory();
    </script>
</body>
</html>